#pragma once

#include "FSMData.h"

//! Action types
enum TypeAction
{
	MAX_TYPE_ACTION
};

/*!
 * \brief Data used to create actions
 *
 * Data used to create actions
 */
class CActionData : public CFSMData
{
	DECLARE_RTTI_CLASS( CActionData, CFSMData::GetRTTI( ) );

	//================================== METHODS ==============================

public:
	//! Get action type
	TypeAction GetTypeAction();

	//================================ DATA MEMBERS ===========================

private:
	//! Action type
	TypeAction m_TypeAction;
};

//============================== TYPE DEFINITIONS =========================

//! ActionData smart pointer
typedef SmartPtr<CActionData> CActionDataPtr;

//! ActionData smart pointer list 
typedef CVector<CActionDataPtr> TActionDataList;